package com.sigmatrix.h5.service.inspect;

import java.util.List;

import com.sigmatrix.h5.entity.CodeCirculation;
import com.sigmatrix.h5.entity.v2.CodeFleeCheckRecord;
import com.sigmatrix.h5.entity.v2.Product;
import com.sigmatrix.h5.enums.CodeCirculationStatus;

/**
 * 串货
 * 
 * @author wei.wang
 *
 */
public interface ICodeFlee {
	

	/**
	 * 通过码流转记录串货检查。
	 * 
	 * @param esecode
	 * @param qrCode
	 * @param product
	 * @param codeCirculations
	 * @return
	 */
	List<CodeFleeCheckRecord> fleeByCirculation(String esecode, CurrentQrCode qrCode, Product product,List<CodeCirculation> codeCirculations);
	
	/**
	 * 通过码流转记录串货检查。（出库流转记录）
	 * @param esecode
	 * @param qrCode
	 * @param product
	 * @return
	 */
	List<CodeFleeCheckRecord> fleeByCirculation(String esecode, CurrentQrCode qrCode, Product product);

	
	/**
	 * 通过码流转记录串货检查。
	 * 
	 * @param esecode
	 * @param qrCode
	 * @param product
	 * @param status（出库/入库流转记录）
	 * @return
	 */
	List<CodeFleeCheckRecord> fleeByCirculation(String esecode, CurrentQrCode qrCode, Product product,CodeCirculationStatus status);
	
//	/**
//	 * 
//	 * @param qrCode
//	 * @param codeType
//	 * @return
//	 */
//	CurrentQrCode getQrCode(String qrCode,Short codeType,String esecode);
	
}
